<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://cdn.jsdelivr.net/npm/vue@2.7.8/dist/vue.js" type="text/javascript"></script>
</head>
<body>
    <!-- 
        条件渲染:
            1.v-if
                写法:
                    (1).v-if="表达式"
                    (2).v-else-if="表达式"
                    (3).v-else="表达式"
                适用于:切换频率较低的场景。
                特点:不展示的DOM元素直接被移除。
                注意: v-if可以和:v-else-if、v-else一起使用，但要求结构不能被“打断”。
            2.v-show
                写法:
                    v-show="表达式"
                适用于:切换频率较高的场景。
                特点:不展示的DOM元素未被移除，仅仅是使用样式隐藏掉
            3.备注:使用v-if的时，元素可能无法获取到，而使用v-show一定可以获取到。

     -->
    <div id="box">
        <p v-show="true">n的值为：{{n}}</p>
        <button @click="add">点我n+1</button>
        
        <!-- 使用v-show做条件渲染,相当添加了一个display=none -->
        <h2 v-show="n==1">苏凉</h2>
        <h2 v-show="n==2">ming</h2>
        <h2 v-show="n==3">xiaohu</h2>

        <!-- 使用v-if做条件渲染 if为true则把结构直接从页面上删除-->
        <h2 v-if="n==1">苏凉</h2>
        <h2 v-if="n==2">ming</h2>
        <h2 v-if="n==3">xiaohu</h2>

        <!-- v-else和v-else-if 中间不能断开-->
        <h3 v-if="n==0">点击按钮查看四大名著</h3>
        <h3 v-else-if="n==1">西游记</h3>
        <h3 v-else-if="n==2">水浒传</h3>
        <h3 v-else-if="n==3">三国演义</h3>
        <h3 v-else-if="n==4">红楼梦</h3>
        <h3 v-else>没有更多了...</h3>

        <!-- template只能与v-if来配合使用 -->
        <template v-if="n == 3">
            <h4>全部显示</h4>
            <h4>全部显示</h4>
            <h4>全部显示</h4>    
        </template>
    </div>

    <script>
        Vue.config.productionTip = false;  //阻止vue在启动时生成生产提示
        //创建实例
        let vm = new Vue({
            el:"#box",
            data:{
                n:0
            },
            methods: {
                add(){
                    this.n++;
                }   
            }
        })
    </script>
</body>
</html>